package com.ksd.pug.cloud.api;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ksd.pug.cloud.pojo.SysUser;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @author 飞哥
 * @Title: 学相伴出品
 * @Description: 飞哥B站地址：https://space.bilibili.com/490711252
 * 记得关注和三连哦！
 * @Description: 我们有一个学习网站：https://www.kuangstudy.com
 * @date 2022/2/28$ 22:05$
 */
@RequestMapping("/api")
public interface IUserServiceFeign extends IService<SysUser> {

    /**
     * 查询用户
     *
     * @param id
     * @return
     */
    @PostMapping("/user/{id}")
    SysUser findUsers(@PathVariable("id") Long id);

    /*
     * @Author 徐柯
     * @Description 查询用户列表
     * @Date 22:28 2022/2/28
     * @Param []
     * @return java.util.List<com.ksd.pug.cloud.pojo.SysUser>
     **/
    @PostMapping("/user/listUser")
    List<SysUser> listUser();


    /**
     * 查询用户并分页
     *
     * @param pageNo
     * @param pageSize
     * @return
     */
    @PostMapping("/user/listUserPage")
    List<SysUser> listUserPage(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize);

    /*
     * @Author 徐柯
     * @Description 分页的
     * @Date 22:28 2022/2/28
     * @Param []
     * @return java.util.List<com.ksd.pug.cloud.pojo.SysUser>
     **/
    @PostMapping("/user/pageUser")
    Page<SysUser> pageUser(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize);


    /*
     * @Author 徐柯
     * @Description 保存和修改亿用户
     * @Date 22:28 2022/2/28
     * @Param []
     * @return java.util.List<com.ksd.pug.cloud.pojo.SysUser>
     **/

    @PostMapping("/user/saveorupdate")
    int saveOrUpdateUser(@RequestBody SysUser sysUser);


    /*
     * @Author 徐柯
     * @Description 根据id删除用户
     * @Date 22:28 2022/2/28
     * @Param []
     * @return java.util.List<com.ksd.pug.cloud.pojo.SysUser>
     **/
    @PostMapping("/user/del/{id}")
    int delUserById(@PathVariable("id") Long id);

}
